function day_hour_minute_second_nanosecond(nanosecs::Int4Time)
 	sc, ns = fldmod(nanosecs, NANOSECONDS_PER_SECOND)
 	mn, sc = fldmod(sc, SECONDS_PER_MINUTE)
 	hr, mn = fldmod(mn, MINUTES_PER_HOUR)
 	dy, hr = fldmod(hr, HOURS_PER_DAY)
 	return dy, hr, mn, sc, ns
 end
  
 function dd_mm_sss_string(nanosecs::Int4Time)
 	dy, hr, mn, sc, ns = day_hour_minute_second_nanosecond(nanosecs)
 	sc_str = ns == 0 ? "" : string(DEC_SEP, subsecond_string(Nanoseconds(ns)))
 	sc_str = string(twodigits(sc), sc_str, "S")
 	dhm_str = string(dy, "D", twodigits(hr), "H", twodigits(mn), "M") 
 	return string(dhm_str, sc_str)
 end
